+server.js 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { validateBearerToken } from '$lib/oauth/bearer.js';
  2. import { getProvider } from '$lib/providers/index.js';
  3. function jsonResponse(body, status = 200) {
  4. return new Response(JSON.stringify(body), {
  5. status,
  6. headers: { 'Content-Type': 'application/json' }
  7. });
  8. }
  9. export async function GET({ params, request }) {
  10. const auth = await validateBearerToken(request, 'llm');
  11. if (!auth.valid) {
  12. return jsonResponse({
  13. error: {
  14. message: auth.error.message,
  15. type: 'invalid_request_error',
  16. param: null,
  17. code: auth.error.code
  18. }
  19. }, auth.status);
  20. }
  21. const modelId = params.model;
  22. let providerInfo;
  23. try {
  24. providerInfo = getProvider(modelId);
  25. } catch {
  26. return jsonResponse({
  27. error: {
  28. message: `The model '${modelId}' does not exist.`,
  29. type: 'invalid_request_error',
  30. param: null,
  31. code: 'model_not_found'
  32. }
  33. }, 404);
  34. }
  35. return jsonResponse({
  36. id: modelId,
  37. object: 'model',
  38. created: Math.floor(Date.now() / 1000),
  39. owned_by: providerInfo.id
  40. });
  41. }